﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///Группы ставок НДС, на которые распределяется НДС по косвенным расходам
	///</summary>
	[DataContract]
	public enum ВариантыРаспределенияНДСКосвенныхРасходов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Не распределено на конкретные ставки НДС по реализации
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"2c419909-dfd3-4d37-8684-1c4fb9aea1c1\", \"Представление\":\"НеРаспределено\"}")]
		НеРаспределено = 0,//Не распределено
	///<summary>
	///Реализация не облагаемая НДС
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c208364f-3c0a-4fb4-89cc-d7a2d1be6aa3\", \"Представление\":\"РеализацияБезНДС\"}")]
		РеализацияБезНДС = 1,//Реализация без НДС
	///<summary>
	///Реализация, облагаемая НДС по ставке 0%
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"320cc23e-f410-4e85-8a70-cea53e1de2b7\", \"Представление\":\"РеализацияНДС0\"}")]
		РеализацияНДС0 = 2,//Реализация НДС0
	///<summary>
	///Реализация, облагаемая НДС по обычным ставкам
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"33cd1d8e-ab00-4c1c-934c-5fe91a991368\", \"Представление\":\"РеализацияСНДС\"}")]
		РеализацияСНДС = 3,//Реализация с НДС
	}
	public static partial class ВариантыРаспределенияНДСКосвенныхРасходов_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Не распределено на конкретные ставки НДС по реализации
		///</summary>
		public static readonly Guid НеРаспределено = new Guid("4f1c8486-aeb9-c1a1-4d37-dfd32c419909");//Не распределено
		///<summary>
		///Реализация не облагаемая НДС
		///</summary>
		public static readonly Guid РеализацияБезНДС = new Guid("a2d7cc89-bed1-a36a-4fb4-3c0ac208364f");//Реализация без НДС
		///<summary>
		///Реализация, облагаемая НДС по ставке 0%
		///</summary>
		public static readonly Guid РеализацияНДС0 = new Guid("a5ce708a-1d3e-b7e2-4e85-f410320cc23e");//Реализация НДС0
		///<summary>
		///Реализация, облагаемая НДС по обычным ставкам
		///</summary>
		public static readonly Guid РеализацияСНДС = new Guid("e95f4c93-991a-6813-4c1c-ab0033cd1d8e");//Реализация с НДС
		public static ВариантыРаспределенияНДСКосвенныхРасходов Получить(this ВариантыРаспределенияНДСКосвенныхРасходов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВариантыРаспределенияНДСКосвенныхРасходов Получить(this ВариантыРаспределенияНДСКосвенныхРасходов Значение, Guid Ссылка)
		{
			if(Ссылка == НеРаспределено)
			{
				return ВариантыРаспределенияНДСКосвенныхРасходов.НеРаспределено;
			}
			else if(Ссылка == РеализацияБезНДС)
			{
				return ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияБезНДС;
			}
			else if(Ссылка == РеализацияНДС0)
			{
				return ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияНДС0;
			}
			else if(Ссылка == РеализацияСНДС)
			{
				return ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияСНДС;
			}
			return ВариантыРаспределенияНДСКосвенныхРасходов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВариантыРаспределенияНДСКосвенныхРасходов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВариантыРаспределенияНДСКосвенныхРасходов Значение)
		{
			switch (Значение)
			{
				case ВариантыРаспределенияНДСКосвенныхРасходов.НеРаспределено: return НеРаспределено;
				case ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияБезНДС: return РеализацияБезНДС;
				case ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияНДС0: return РеализацияНДС0;
				case ВариантыРаспределенияНДСКосвенныхРасходов.РеализацияСНДС: return РеализацияСНДС;
			}
			return Guid.Empty;
		}
	}
}